UnsafePinned: implement opsem effects of UnsafeUnpin#151365
UnsafePinned: implement opsem effects of UnsafeUnpin#151365rust-bors[bot] merged 2 commits intorust-lang:mainfrom
Conversation
|
The Miri subtree was changed cc @rust-lang/miri |
|
r? @davidtwco rustbot has assigned @davidtwco. Use |
This comment has been minimized.
This comment has been minimized.
faea4bb to
ee603cd
Compare
This comment has been minimized.
This comment has been minimized.
ee603cd to
296a434
Compare
|
This PR modifies cc @jieyouxu |
This comment has been minimized.
This comment has been minimized.
|
Uh, what is happening with the link checker here? I have no idea why this PR would add new links to |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Uh, no idea what's going on, but it some sort of rustdoc weirdness... Cc @rust-lang/rustdoc |
e978d76 to
ba96ef7
Compare
ba96ef7 to
860c3a8
Compare
|
@davidtwco will you be fine to review this or should I go look for someone else? Not sure who else knows their way around our LLVM attribute handling here... @nikic @workingjubilee maybe? |
This comment has been minimized.
This comment has been minimized.
|
@rustbot reroll |
860c3a8 to
8a4619e
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Sorry for the delay in getting back to you, some of this is a bit out of cache for me, so probably best to reroll. |
|
@rustbot reroll |
8a4619e to
0cbe1cc
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
@bors r+ |
…yUwU UnsafePinned: implement opsem effects of UnsafeUnpin This implements the next step for rust-lang#125735: actually making `UnsafePinned` have special opsem effects by suppressing the `noalias` *even if* the type is wrapped in an `Unpin` wrapper. For backwards compatibility we also still keep the `Unpin` hack, i.e. a type must be both `Unpin` and `UnsafeUnpin` to get `noalias`.
…uwer Rollup of 7 pull requests Successful merges: - #152622 (Update GCC subtree) - #145024 (Optimize indexing slices and strs with inclusive ranges) - #151365 (UnsafePinned: implement opsem effects of UnsafeUnpin) - #152381 (Do not require `'static` for obtaining reflection information.) - #143575 (Remove named lifetimes in some `PartialOrd` & `PartialEq` `impl`s) - #152404 (tests: adapt align-offset.rs for InstCombine improvements in LLVM 23) - #152582 (rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options)
…uwer Rollup of 7 pull requests Successful merges: - #152622 (Update GCC subtree) - #145024 (Optimize indexing slices and strs with inclusive ranges) - #151365 (UnsafePinned: implement opsem effects of UnsafeUnpin) - #152381 (Do not require `'static` for obtaining reflection information.) - #143575 (Remove named lifetimes in some `PartialOrd` & `PartialEq` `impl`s) - #152404 (tests: adapt align-offset.rs for InstCombine improvements in LLVM 23) - #152582 (rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options)
Rollup merge of #151365 - RalfJung:unsafe-unpin-opsem, r=BoxyUwU UnsafePinned: implement opsem effects of UnsafeUnpin This implements the next step for #125735: actually making `UnsafePinned` have special opsem effects by suppressing the `noalias` *even if* the type is wrapped in an `Unpin` wrapper. For backwards compatibility we also still keep the `Unpin` hack, i.e. a type must be both `Unpin` and `UnsafeUnpin` to get `noalias`.
…uwer Rollup of 7 pull requests Successful merges: - rust-lang/rust#152622 (Update GCC subtree) - rust-lang/rust#145024 (Optimize indexing slices and strs with inclusive ranges) - rust-lang/rust#151365 (UnsafePinned: implement opsem effects of UnsafeUnpin) - rust-lang/rust#152381 (Do not require `'static` for obtaining reflection information.) - rust-lang/rust#143575 (Remove named lifetimes in some `PartialOrd` & `PartialEq` `impl`s) - rust-lang/rust#152404 (tests: adapt align-offset.rs for InstCombine improvements in LLVM 23) - rust-lang/rust#152582 (rustc_query_impl: Use `ControlFlow` in `visit_waiters` instead of nested options)
This implements the next step for #125735: actually making
UnsafePinnedhave special opsem effects by suppressing thenoaliaseven if the type is wrapped in anUnpinwrapper.For backwards compatibility we also still keep the
Unpinhack, i.e. a type must be bothUnpinandUnsafeUnpinto getnoalias.